package cn.wolfcode.edu.service;

import cn.wolfcode.edu.domain.ClassGrade;
import cn.wolfcode.edu.domain.Client;
import cn.wolfcode.edu.domain.FormalStudent;
import cn.wolfcode.edu.query.QueryObject;
import cn.wolfcode.edu.util.PageResult;

import java.util.List;

/**
 * Created by 徐沅澧 on 2018/7/9.
 * 正式学员的Service接口组件
 */
public interface IFormalStudentService {
    /**
     * 正式学员的列表查询接口
     */
    PageResult query(QueryObject qo);

    /**
     * 正式学员的信息更新接口
     */
    void update(FormalStudent student);

    /**
     * 学员转班操作
     */
    void updateForTransfer(FormalStudent student);

    /**
     * 学员退学操作
     */
    void quitStudent(Long id, int statusVal);

    /**
     * 查询未缴清学费的正式学员
     */
    List<FormalStudent> listAllNotYetPay();

    /**
     * 学员转正方法
     * @param client  封装待转正学员的信息
     * @param formalStudent  封装转正学员的信息
     */
    void client2Formal(Client client, FormalStudent formalStudent);

    void upgrade(Long nowClz, Long newClz);
}
